package com.cskaoyan.javase.basic._4extend;

/**
 * 表达式的类型提升:
 * (表达式中必须存在一个变量参与运算,才符合下列规则)
 *      如果表达式当中存在多种数据类型 变量 参与运算，由于表达式的运算结果是唯一的，所以结果 变量 的数据类型将会提升到"最大取值范围"的那个。
 *
 * 重点:
 *      byte、short、char之间不互相转换，一旦发生运算，一律自动转换为int进行运算，结果是int
 *
 * 补充:
 *      1.如果表达式中都是常量参与运算,那就看常量中谁的取值范围更大.
 *      2.表达式中一旦存在String参与字符串拼接运算,那么结果一定是String
 *
 *
 * @since 09:53
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
    public static void main(String[] args) {
        byte a = 100;
        char b = 200;
        int c = 300;
        long d = 400;
        long result = a + b + c + d;
        System.out.println(result);

        byte a2 = 100;
        int result2 = a + a2;

        double result3 = 1 + 0.1;
        String str = a + b + c + d + "abc";
    }
}
